1. Field of the Invention
The present invention generally relates to technology for setting a node as a master node that prevents generation of a loop path by blocking relay of user data in a ring network.
2. Description of the Related Art
These days, it has become possible to efficiently transmit data by applying the Ethernet (registered trademark) technique to ring networks. In a typical ring network, the transmission path of packets is in the form of a loop. Thus, to avoid a situation called a loop phenomenon, where the packets keep going around in the network, one of the nodes in the ring network is set as a master node. The master node can logically block the relay of user data at one of the ports in the ring. A node here means network devices such as computers, hubs, and routers that are connected to one another in the network.
Also a technique called “Ethernet (registered trademark) Automatic Protection Switching” (EAPS) is disclosed by which, when a failure has occurred somewhere in the ring network, the master node opens the port that has been blocked so that the communication of the packets are resumed quickly (see S. Shah and M. Yip, “RFC 3619—Extreme Network's Ethernet Automatic Protection Switching (EAPS) Version 1”, [online], [searched on Nov. 29, 2004], on the Internet.
FIG. 15 is a schematic for explaining the conventional EAPS technique. In the example shown in FIG. 15, the ring network is made up of six nodes, namely, nodes 101 to 106. One of the nodes, namely the node 101, is set as a master node (indicated with the letter “M” in the drawing). The master node 101 logically blocks a port 111 positioned between the master node 101 and the adjacent node 102.
For example, let us imagine that a failure 12 has occurred in a link in the ring network between the nodes 104 and 105 (state 1). In the state 1, the master node 101 opens the port 111, which is in blocked state, so that communication can be performed among the nodes 101 to 106 (state 2).
When the failure 12 has been repaired, the node 104 logically blocks a port 114 between the failure 12 and the node 104, and the node 105 logically blocks a port 115 between the failure 12 and the node 105, thereby preventing occurrence a loop phenomenon (state 3).
After that, the nodes 104 and 105 transmit a packet to the master node 101 to notify that the failure 12 has been repaired and also respectively open the ports 114 and 115. The master node 101 logically blocks the port 111 again and prevents a loop phenomenon from occurring (state 4).
In the above EAPS technique, however, communication is interrupted twice, namely, when a failure has occurred and when the failure has been repaired. More specifically, because the port that is blocked when the failure has occurred is different from the ports that are blocked when the failure has been repaired, the nodes 101 to 106 need to learn routing information twice.
To cope with this problem, a data relaying method is disclosed in Japanese Patent Application No. 2004-076593 in which it is possible to reduce the number of times the routing information needs to be learned to one. FIG. 16 is a drawing for explaining this conventional data relaying method. In the example shown in FIG. 16, the ring network is made up of six nodes, namely, nodes 131 to 136. One of the nodes, namely the node 131, is set as a master node. The master node 131 logically blocks a port 141 positioned between the node 131 and the node 132.
For example, let us imagine that a failure 15 has occurred in a link in the ring network (state 5). In this situation, the master node 131 opens the port 141 so that communication can be performed among the nodes 131 to 136. The nodes 134 and 135 that are connected to the link in which the failure 15 has occurred logically block ports 144 and 145, respectively, that are positioned on the two sides of the failure 15 (state 6).
When the failure 15 has been repaired, the nodes 134 and 135 exchange control signals with each other so as to set only one of the nodes, namely the node 134, as a master node. The other node 135 is set as a normal node, and the port 145 that has been blocked by the node 135 is opened (state 7). In this situation, the link in which the relay of data has been blocked is the same before and after the repair of the failure 15. Thus, the number of times the routing information needs to be learned is only one.
It is also possible to apply this data relaying method to take care of a failure that could occur in a node itself. FIG. 17 is a drawing for explaining this conventional data relaying method that is used when a node failure has occurred. In FIG. 17, an example is shown in which a failure 16 has occurred in the node 134, and the nodes 133 and 135 are respectively blocking the ports 143 and 145 that are positioned on the node 134 side (state 8).
In this situation, when the failure 16 has been repaired, the nodes 133 and 135 exchange control signals with each other via the node 134 (state 9). Only one of the nodes, namely the node 133, is set as a master node. The other node 135 is set as a normal node, and the port 145 is opened (state 10).
According to the conventional techniques described above, however, a problem arises where it is difficult to realize, at a low cost, a ring network in which a master node is efficiently determined when all the nodes that belong to the ring network are started up or when a failure has been repaired.
More specifically, according to the conventional techniques explained with reference to FIGS. 15 and 16, when all of the nodes that belong to the ring network are started up, a master node needs to be set in advance before the start-up. If the nodes are started up without setting a master node, a loop phenomenon occurs.
On the other hand, according to the data relaying method explained with reference to FIG. 17, if a failure has occurred in the node 134, a problem arises where the process becomes complicated because the node 134 needs to intermediate, after being repaired, a negotiation between the nodes 133 and 135 that are positioned on either side of the node 134. Thus, how to set a master node appropriately and efficiently is becoming an important issue.